/********************************************************************
	TABAL ENGINE - 2012/11/09
	author:		Marc Cuscullola
	
	purpose:	Defines the keyboard input
*********************************************************************/
#pragma once

#ifndef __KEYBOARD__INCLUDED_H__
#define __KEYBOARD__INCLUDED_H__

#include "InputDevice.h"
#include "MathTypes.h"

class CKeyboard : public CInputDevice
{
public:
	CKeyboard();
	~CKeyboard();

	bool	Initialize	(LPDIRECTINPUT8 _directInput, HWND _hWnd);
	bool	Update		();

	bool	IsDown		(uint32 nID) const;
	bool	IsUpDown    (uint32 nID) const;
	bool	IsDownUp	(uint32 nID) const;

private:
	char	m_Keys[256];
	char	m_KeysOld[256];
};

#endif //__KEYBOARD__INCLUDED_H__

